Enterprise Resource Planning (ERP) systems integrate the data and processes of an organization into a unified system. A typical ERP system can use multiple components of computer software and hardware to achieve the integration. One general task in development and support of ERP systems, as well as other types of systems and software, is the analysis of various business processes running within the system. In some instances, this analysis may be performed by tracing the execution of one or more business processes. While tracing, a set of information (e.g., SQL statements, lock operations, communication steps, etc.) regarding the business process's execution is recorded for future review and analysis. The set of tracing information is typically used by programmers, system administrators, and advanced users for debugging and diagnosing problems with the traced systems and software. In some instances, the set of tracing information may also be used to determine which business processes could be optimized by removing or modifying the actions occurring during each business process's execution. Tracing may be used effectively both during development and after the release of various types of software.
In some modern ERP applications, business processes are distributed over a plurality of logically and physically separated software systems. Current ERP systems include tracing tools that allow business processes to be traced when executed on a local system. For distributed software systems, however, these tracing tools are not able to bridge system borders and provide complete trace records for related business processes executed remotely from the local system. In other words, if system tracing is desired in a distributed system, each system on which business processes are to be executed must be individually set and manually prepared for tracing prior to performing the trace analysis. Therefore, programmers and administrators must have detailed knowledge of each system related to a particular business process in order to collect the set of trace information necessary for a meaningful and complete analysis. Thus, automatic tracing of business processes distributed over several separated software systems is not possible using the current available trace tools.